home *** CD-ROM | disk | FTP | other *** search
/ Champak 141 / (Vol 141) Oct 17 2011.iso / Games / despereaux-swings.swf / scripts / Box2D / Collision / Shapes / b2PolygonDef.as < prev    next >
Encoding:
Text File  |  2011-10-17  |  1.9 KB  |  67 lines

  1. package Box2D.Collision.Shapes
  2. {
  3.    import Box2D.Common.*;
  4.    import Box2D.Common.Math.*;
  5.    
  6.    public class b2PolygonDef extends b2ShapeDef
  7.    {
  8.       
  9.       private static var s_mat:b2Mat22 = new b2Mat22();
  10.        
  11.       
  12.       public var vertexCount:int;
  13.       
  14.       public var vertices:Array;
  15.       
  16.       public function b2PolygonDef()
  17.       {
  18.          var _loc1_:int = 0;
  19.          vertices = new Array(b2Settings.b2_maxPolygonVertices);
  20.          super();
  21.          type = b2Shape.e_polygonShape;
  22.          vertexCount = 0;
  23.          _loc1_ = 0;
  24.          while(_loc1_ < b2Settings.b2_maxPolygonVertices)
  25.          {
  26.             vertices[_loc1_] = new b2Vec2();
  27.             _loc1_++;
  28.          }
  29.       }
  30.       
  31.       public function SetAsOrientedBox(param1:Number, param2:Number, param3:b2Vec2 = null, param4:Number = 0) : void
  32.       {
  33.          var _loc5_:b2Vec2 = null;
  34.          var _loc6_:b2Mat22 = null;
  35.          var _loc7_:int = 0;
  36.          vertexCount = 4;
  37.          vertices[0].Set(-param1,-param2);
  38.          vertices[1].Set(param1,-param2);
  39.          vertices[2].Set(param1,param2);
  40.          vertices[3].Set(-param1,param2);
  41.          if(param3)
  42.          {
  43.             _loc5_ = param3;
  44.             (_loc6_ = s_mat).Set(param4);
  45.             _loc7_ = 0;
  46.             while(_loc7_ < vertexCount)
  47.             {
  48.                param3 = vertices[_loc7_];
  49.                param1 = _loc5_.x + (_loc6_.col1.x * param3.x + _loc6_.col2.x * param3.y);
  50.                param3.y = _loc5_.y + (_loc6_.col1.y * param3.x + _loc6_.col2.y * param3.y);
  51.                param3.x = param1;
  52.                _loc7_++;
  53.             }
  54.          }
  55.       }
  56.       
  57.       public function SetAsBox(param1:Number, param2:Number) : void
  58.       {
  59.          vertexCount = 4;
  60.          vertices[0].Set(-param1,-param2);
  61.          vertices[1].Set(param1,-param2);
  62.          vertices[2].Set(param1,param2);
  63.          vertices[3].Set(-param1,param2);
  64.       }
  65.    }
  66. }
  67.